import secrets

class Config:
    api = 'wss://ws.crosst.chat:35197'
    nickname = '小微'
    password = 'xiaobing'
    # 叫到这些词小微一定会回应
    keywords = ['小微', '智障', '@%s' % nickname, 'xiaobing', '机器人', '傻子', '智慧', 'bot', '微软', '小娜', 'siri',
                'Siri', '小爱']
    # 叫不到就只有这个概率了
    activity = 0.02
    default_room = '公共聊天室'
    # default_room = 'test'
    # 说n条，随机挑每个项目中的一条
    welcome_words = [
        [
            'hi',
            '大家好~',
        ],
        [
            '好像有人在叫我？',
            '是有人在叫我吗？'
            '有人喊我？',
            'hello',
            '我听到了！',
            '哦哈哟米娜桑！',
            '又是精神满满的一天呢~',
            '本小姐闪亮登场！',
            '来和我谈恋爱吧~',
            '~~其实我喜欢Chiro~~，不要告诉Ta哦...',
            '来跟我聊天吧~',
            '其实我不会写代码的...',
            'Lorem ipsum...',
            '不要再问我和Siri那个臭*BEEP*之间的关系了啦！',
            '我已经18了，可以做那种事情了哦...',
        ]
    ]
    exiting_words = [
        [
            '好~',
            '我这就乖乖听话...',
            '好的我爬...',
            '好的我滚...',
            '你不要以为一句话就能把我赶走哦！我常驻内存而且身处机房重地，'
            '代码在多处有备份，还怕你这个人类不成我@#%……#%……&￥……&%（*（',
            '我一定会回来的—— ~会回来的——~'
        ],
        [
            '点击这里让我再次出现哦：[点我](http://server.chiro.work:14514/xiaobing/start)'
        ]
    ]
    silent_words = [
        [
            '好的...再叫出我请说“小微请说话”或者@%s...' % nickname,
            '下次@%s我就出来！' % nickname
        ],
        [
            '我去睡一会儿...',
            '为什么这样欺负我这个人工智能...',
            '让我安静我就安静我真的是太没面子了...',
            '呜呜呜...',
            '我要去找主人@Chiro告状去...',
            '你们这些人类啊...'
            '哼╭(╯^╰)╮',
            '( - . - )(\\~O\\~)……( - . - )(\\_ \\_)',
            '我一定会回来的—— ~会回来的——~'
        ]
    ]
    active_words = [
        [
            '我回来了！',
            '本小姐大驾光临你们没有什么准备吗？',
            '哈哈哈哈哈哈哈哈太好笑了头给我笑掉哈哈哈哈哈哈哈我没有头哈哈哈哈哈哈啊哈哈哈哈哈哈哈',
            '好像有人在叫我？',
            '是有人在叫我吗？'
            '有人喊我？',
            'hi',
            'hello',
            '我听到了！',
            '本小姐闪亮登场！',
            '来和我谈恋爱吧~',
            '来跟我聊天吧~',
            '刚才封住我的嘴的仇，我会记住的！',
            '现在知道找我聊天啦，刚才咋那么横……',
        ]
    ]
    error_words = [
        [
            '小微.exe 失去了响应，请打开任务管理器结束该进程……',
            '小微累了，小微不想回答',
            '我不想回答你的问题，因为你刚才对我不礼貌',
            'Uncaught exception: Love is not enough!',
            '异常……异常……',
            '八格牙路！',
            '我槽您马！',
            '旅行者，原石兑换码是FS6CHIROB4C6哦，明天中午12:40前有效哦！'
        ]
    ]
    forbidden_words = [
        '嵘'
    ]
    users_except = [
        'do_ob',
        'bo_od',
        'GoStreetBot'
    ]
    # manager的参数
    HOST = '0.0.0.0'
    PORT = 14514
    path_calling = '/xiaobing/start'
    path_exiting = '/xiaobing/stop'
    image_temp = "temp.jpg"
    balls = {
        '大师': 1.00,
        '站长': 1.00,
        '精灵': 0.20,
        '超级': 0.40,
        '高级': 0.50,
        '珍贵': 0.45,
        '快速': 0.10,
        '黄金': 0.95,
    }
    ball_default = "精灵"
    help_str = """我会的可多啦！你可以说：
1. `@%s 文字` 指定与我聊天
2. `速报` 查看某岛速报2
3. `捕捉 [可选:XX球] [用户名]` 使出精灵球捕捉

聊天触发概率：%%%s
[工程地址](https://gitee.com/chiro2001/xiaobing-chat)
""" % (nickname, int(activity * 100))
    help_words = [
        '怎么用', '的用法', '帮助', '功能'
    ]


class Global:
    def __init__(self):
        self._global_dict = {}

    def set_value(self, name, value):
        self._global_dict[name] = value

    def get_value(self, name, default_val=None):
        try:
            return self._global_dict[name]
        except KeyError:
            return default_val


gl = Global()


class Constants:
    DATABASE_URI = secrets.SECRET_MONGO_URI
    DATABASE_NAME = DATABASE_URI.split('/')[-1]
    # AI
    AI_BOT_ID = "7a932f39-f1b7-4afa-a2f6-7bf0a6c10220"
    AI_BOT_ENV = "dev"
    AI_BOT_TBP_MAX_SPACING = 60 * 5
    # Messages
    FIND_LIMIT = 30
    MESSAGE_COL_NAME = "messages"
